﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Microsoft.VisualStudio.TestTools.UnitTesting
{
	public static class TestExtensions
	{
		
		public static void should_be_null(this object value)
		{
			Assert.IsNull(value);
		}
		public static void should_not_be_null(this object value)
		{
			Assert.IsNotNull(value);
		}
		public static void should_be_equal_to(this object actual, object expected)
		{
			Assert.AreEqual(expected, actual);
			
		}
		public static void should_be_equal_to(this object actual, object expected, string message)
		{
			Assert.AreEqual(expected, actual, message);
		}
		public static void should_not_be_equal_to(this object actual, object notExpected)
		{
			Assert.AreNotEqual(notExpected, actual);
			
		}
		public static void should_not_be_equal_to(this object actual, object notExpected, string withMessage)
		{
			Assert.AreNotEqual(notExpected, actual, withMessage);
		}
		public static void should_fail(this string message)
		{
			Assert.Fail(message);
		}
		public static void should_fail(this string message, params object[] parameters)
		{
			Assert.Fail(message, parameters);
		}
		public static void should_be_of_type<OFTYPE>(this object actual)
		{
			Assert.IsInstanceOfType(actual, typeof(OFTYPE));
		}
		public static void should_not_be_of_type<OFTYPE>(this object actual)
		{
			
			Assert.IsNotInstanceOfType(actual, typeof(OFTYPE));
		}


	}
}
